1. Field of the Invention
The present invention relates to wireless networks, and more particularly, to transmitting messages over wireless networks.
2. Description of the Related Art
Wireless networks are often used to transmit messages from one location in a network to a destination location in the network. These messages contain data to be supplied to the destination location. More specifically, the messages include a header portion and a data portion. The header portion includes an address of the destination location, and the data portion contains data. The header portion also indicates the size of the message. The destination location is, for example, a mobile device.
A wireless network, however, has a pre-defined or maximum message size that it is able to transmit efficiently through the wireless network. For example, one common wireless network, such as Short Messaging System (SMS) and Unstructured Supplementary Service Data (USSD), has a maximum size of 140 bytes. When a message to be transmitted has a size greater than the maximum message size for the wireless network, the message must be fragmented prior to transmission. More particularly, during fragmentation, the message is divided into smaller fragments or sub-messages. Each of the fragments or sub-messages has a size that is smaller than or equal to the maximum message size. After the fragments or sub-messages are formed, they are transmitted in order to the destination location.
Although the fragments or sub-messages are sent in order, the order in which they are received at the destination location is not always in sequential order. Each fragment can take seconds, minutes or hours to reach the destination location depending on the network traffic. As a result, each of the fragments or sub-messages includes (within the header portion) a sequence number that identifies the relative order of the particular fragment or sub-message within the message. The sequence number assists the destination location in reassembling the message from the message fragments or sub-elements.
Additionally, multiple messages may be concurrently received at a given destination location. The destination location needs some way to keep the fragments or sub-messages for the multiple messages separate. Conventionally, all the fragments or sub-messages for a given message include a particular reference number. In other words, each of the fragments or sub-messages for a given message will include a reference number of the same value in their header portion. The reference number thus allows the destination location to separate those fragments and sub-messages of different messages so that the multiple messages can be properly reassembled at the destination location.
Conventionally, the management and utilization of the reference numbers has some problems. With a wireless network, it is common that there are a large number of subscribers that can serve as destination locations. One conventional approach is to assign a unique reference number to each subscriber on the wireless network. However, with so many subscribers, the amount of data storage needed at a server (e.g., message server) just for all the reference numbers is large and costly. As an example, a wireless network with one million subscribers would need to store one million reference numbers. The large amount of data storage required with this approach is a problem.
Another conventional approach uses a single, large reference number for all transmission from a source location. For example, the large reference number can be 64 bits or more. The reference number needs to be large to minimize the likelihood that an overlap in reference number to the same destination location could occur. The problem with this approach is that the large size of the reference number consumes a significant portion of the bandwidth of each fragment or sub-message being transmitted.
Thus, there is a need for improved management and utilization of reference numbers for use in transmitting messages.